﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;

namespace Mammoth.Events
{
    public delegate void RoutedEventHandler<T>(object sender, T e) where T : RoutedEventArgs;

    public class RoutedEvents
    {
        public static readonly RoutedEvent MessageBoxEvent = EventManager.RegisterRoutedEvent("MessageBox",
            RoutingStrategy.Bubble, typeof(RoutedEventHandler<MessageBoxEventArgs>),
            typeof(RoutedEvents));

        public static readonly RoutedEvent EventItemEvent = EventManager.RegisterRoutedEvent("EventItem",
            RoutingStrategy.Bubble, typeof(RoutedEventHandler<EventItemEventArgs>),
            typeof(RoutedEvents));

        public static readonly RoutedEvent NavigationEvent = EventManager.RegisterRoutedEvent("Navigation",
            RoutingStrategy.Bubble, typeof(RoutedEventHandler<ViewNavigationEventArgs>),
            typeof(RoutedEvents));

        public static readonly RoutedEvent MessageDataChangeEvent = EventManager.RegisterRoutedEvent("MessageDataChange",
            RoutingStrategy.Bubble, typeof(RoutedEventHandler<MessageDataChangeEventArgs>),
            typeof(RoutedEvents));

    }
}
